Skip to content

fix: stabilize E2E tests and add parallel CI workflow#516

Merged
FL4TLiN3 merged 2 commits intomainfrom
fix/e2e-test-quality
Feb 15, 2026
Merged

fix: stabilize E2E tests and add parallel CI workflow#516
FL4TLiN3 merged 2 commits intomainfrom
fix/e2e-test-quality

Conversation

@FL4TLiN3
Copy link
Contributor

Summary

  • Fix 4 flaky/broken E2E tests that were failing due to race conditions, stale assertions, and provider-specific behavior
  • Restructure E2E workflow to run as a required check on changeset release PRs with parallel matrix execution

Changes

Test fixes

  • create-expert: describe.concurrentdescribe to fix afterEach race condition deleting other test's temp dirs
  • published-expert: regex now matches PERSTACK_API_KEY is required... error message
  • streaming: event ordering assertions no longer assume strict start→stream→complete sequence across multiple LLM steps
  • reasoning-budget: OpenAI o3-mini assertions accept thinking text as alternative to token counts; streaming event ordering stabilized

CI workflow

  • Trigger: pull_request on main with if: startsWith(github.head_ref, 'changeset-release/') — skipped checks pass for other PRs
  • Concurrency: group: e2e-tests, cancel-in-progress: false (queues runs, prevents LLM rate limit issues)
  • 4 parallel matrix suites: cli-core (~130s), cli-reasoning (~163s), cli-streaming (~50s), create-expert (~22s)

Required branch protection (manual step)

Add these as required status checks for main:

  • E2E / cli-core
  • E2E / cli-reasoning
  • E2E / cli-streaming
  • E2E / create-expert

Test plan

  • All 88 E2E tests pass locally
  • Verified vitest file filtering works correctly with matrix files values
  • After merge: configure branch protection required checks

🤖 Generated with Claude Code

FL4TLiN3 and others added 2 commits February 15, 2026 10:11
- Fix create-expert race condition: replace describe.concurrent with
  sequential execution to prevent afterEach from deleting other test's
  temp directories
- Fix published-expert assertion: add "required" to error message regex
  to match PERSTACK_API_KEY validation error
- Fix streaming event ordering: remove strict start→stream→complete
  sequence assertions that fail across multiple LLM steps
- Fix OpenAI reasoning token assertions: accept thinking text as
  alternative to token counts (o3-mini may not surface counts)
- Restructure E2E workflow: split into 4 parallel matrix suites
  (cli-core, cli-reasoning, cli-streaming, create-expert) with
  concurrency 1 to avoid LLM rate limits, triggered only on
  changeset release PRs

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@FL4TLiN3 FL4TLiN3 enabled auto-merge (squash) February 15, 2026 10:14
@FL4TLiN3 FL4TLiN3 merged commit 61b4d9a into main Feb 15, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant